package com.xuecheng.content.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.content.model.dto.BindTeachplanMediaDto;
import com.xuecheng.content.model.dto.SaveTeachPlanDto;
import com.xuecheng.content.model.po.Teachplan;
import com.xuecheng.content.model.po.TeachplanMedia;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * <p>
 * 课程计划 服务类
 * </p>
 *
 * @author itcast
 * @since 2023-02-11
 */
public interface TeachPlanService extends IService<Teachplan> {

    /**
     * 课程计划创建或修改
     * @param teachPlanDto
     */
    void saveTeachPlan(SaveTeachPlanDto teachPlanDto);


    /**
     * 删除课程计划
     */
    void deleteTeachPlan(Long teachPlanId);

    /**
     * 大小章节向上下移动
     * @param moveType
     * @param teachPlanId
     */
    void orderByTeachplan(String moveType, Long teachPlanId);


    /**
     * @description 教学计划绑定媒资
     * @param bindTeachplanMediaDto
     * @return com.xuecheng.content.model.po.TeachplanMedia
     * @author Mr.M
     * @date 2022/9/14 22:20
     */
    TeachplanMedia associationMedia(BindTeachplanMediaDto bindTeachplanMediaDto);

    /**
     * 教学计划和媒资解绑
     * @param
     * @param mediaId
     */
    void disconnectMedia(@PathVariable Long teachplanId, @PathVariable String mediaId);

}
